home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d7 / ker301ex.arc / MSKERM.BWR < prev    next >
Text File  |  1990-07-19  |  41KB  |  796 lines

  1. File KERMIT.BWR        MS-DOS KERMIT 3.0 "BEWARE FILE"            July 1990
  2.  
  3.    MS-DOS KERMIT VERSION 3.01 "BEWARE FILE": KNOWN BUGS AND LIMITATIONS
  4.  
  5. This file applies to version 3.01 of MS-DOS Kermit for the IBM PC and PS/2
  6. families and compatibles.  If you are experiencing problems with MS-DOS
  7. Kermit, please read this file first to find out the status of the problem.
  8. It might be known already, and a workaround might be listed here.
  9.  
  10. The user manual for MS-DOS Kermit 3.0 is "Using MS-DOS Kermit", by Christine
  11. M. Gianone, published by Digital Press, Bedford, MA, 1990, order number
  12. EY-C204E-DP.  Call 1-800-343-8321 (toll free, USA) to order.  The technical
  13. reference by Professor Joe R. Doupnik is in preparation.
  14.  
  15. MS-DOS Kermit 3.0 has been successfully tested with PC-DOS 2.0, 3.0, 3.30, and
  16. 4.0 on a wide variety of IBM PCs, XTs, PC/ATs, Portable PCs, PS/2s, and
  17. compatibles.  DOS 2.0 or later is required.
  18.  
  19. Please report problems via e-mail to Info-Kermit@watsun.cc.columbia.edu or to
  20. KERMIT@CUVMA.BITNET, or call (212) 854-5126, or write to Kermit Distribution,
  21. Columbia University Center for Computing Activities, 612 West 115th Street,
  22. New York, NY 10025, USA.
  23.  
  24. THE DISTRIBUTION DISKETTE
  25.  
  26. The MSKERMIT.INI file on the 3.00 distribution diskette contains two errors:
  27.  1. In the ERRSTP definition, "\%\13" should be changed to "\%1\13".
  28.  2. In the COPY definition, second "if < argc 2" should be "if < argc 3".
  29. These errors are fixed in the 3.01 distribution diskette.
  30.  
  31. The last line, STOP, of the file HAYES.TAK on the 3.00 distribution diskette
  32. should be removed.  The STOP statement causes immediate return to the
  33. MS-Kermit> prompt, which prevents the DIAL command or HAYES.TAK from being
  34. used within another macro or TAKE file.  This is fixed in the 3.01 diskette.
  35.  
  36. The KERMIT.PIF file on the 3.00 distribution diskette did not specify
  37. sufficient memory for Kermit to operate under Windows.  Corrected on the 3.01
  38. diskette.  See below.
  39.  
  40. MEMORY REQUIREMENTS
  41.  
  42. Version 3.01 of MS-DOS Kermit normally requires about 180K of memory,
  43. including the memory which it allocates dynamically for ten rollback screens.
  44. Each rollback screen requires about 8K.  You can control the number of
  45. rollback screens by putting a line like this in your AUTOEXEC.BAT file:
  46.  
  47.   SET KERMIT=ROLLBACK 40
  48.  
  49. If you don't have enough memory to run Kermit with the default number of
  50. rollback screens, then use this same mechanism to reduce this number, for
  51. example SET KERMIT=ROLLBACK 1.
  52.  
  53. Kermit also allocates memory for macro and key definitions dynamically, so if
  54. you plan to have many such definitions active, you will need sufficient extra
  55. memory available over and above the amount required for KERMIT.EXE itself and
  56. its rollback screens.
  57.  
  58. Finally, Kermit's RUN command as well as many of its DOS-like commands (DIR,
  59. TYPE, etc) work by loading a copy of COMMAND.COM (approx 25K) plus whatever
  60. other programs you might have asked COMMAND.COM to run.
  61.  
  62. USING KERMIT UNDER MICROSOFT WINDOWS, DESQVIEW, OS/2, ETC
  63.  
  64. Kermit runs in the "DOS Box" of OS/2.  Before you can use MS-DOS Kermit 3.0
  65. under OS/2, you must issue the OS/2 command SETCOM40 COM1=ON.
  66.  
  67. Under window managers like Desqview and Microsoft Windows, you must allocate
  68. sufficient memory for Kermit in order for it to operate properly, normally at
  69. least 180K.  See preceding section.
  70.  
  71. Reportedly, under Microsoft Windows/286 v2.03 there may be problems with
  72. memory allocated from DOS being corrupted during Windows' operations.  One
  73. symptom is that macro definitions will turn into garbage (random characters).
  74. This has not been observed under Windows/386.
  75.  
  76. When running under any version of MS Windows the user is cautioned that
  77. specifying a ",P" at the end of a serial port setting in WIN.INI or in a MODE
  78. command may cause loss of characters from the serial port.  Remove the ",P"
  79. from the setting.
  80.  
  81. COMMUNICATIONS
  82.  
  83. On IBM PCs and PS/2s with IBM asynchronous adapters, Kermit can be used at
  84. speeds up to 57600 bps.  For 115200 bps to work, a very short shielded cable is
  85. required, and the async adapters of the two machines must be in perfect tune.
  86.  
  87. Although high speeds can be used for file transfer, the maximum speed for VT
  88. and Tektronix terminal emulation depends upon the model of your PC.  For
  89. original PCs and PC/XTs, it is 9600 bps.  For PC/ATs and PS/2s, it is
  90. generally 19200, perhaps 38400.  If your speed is set too high for your PC
  91. model, the symptom will be lost or garbled characters or graphics images on
  92. the screen.
  93.  
  94. MS-DOS Kermit does not attempt to monitor the communication line for carrier
  95. loss during terminal emulation or file transfer (but you can SHOW MODEM or
  96. SHOW COMMUNICATIONS to inquire about CD, DSR, and CTS).  The script command
  97. WAIT permits sensing carrier presence while doing scripts or macros.
  98.  
  99. The SHOW MODEM and WAIT commands will work right only if your modem or other
  100. communication device is configured to raise and lower the DSR, CTS, and CD
  101. signals appropriately, and the cable that connects your PC to the modem passes
  102. these signals through.  For some modems, the factory setting is to always keep
  103. CD on, even if there is no connection.  Consult your modem manual.
  104.  
  105. For RS-232 devices, the HANGUP command (and Ctrl-]H in CONNECT mode) will work
  106. only if the cable that connects your PC to the communication device passes the
  107. DTR signal through, and if the communication device itself is configured to
  108. hang up or otherwise terminate the connection when the DTR signal is lowered
  109. by the PC.  For some modems, the factory setting is to ignore DTR transitions.
  110. Consult your modem manual.
  111.  
  112. TERMINAL EMULATION
  113.  
  114. Kermit's VT320/340 emulator lacks the following functions of the corresponding
  115. real terminals:
  116.  . Smooth scroll
  117.  . Down loadable soft fonts
  118.  . ReGis graphics (VT340/330)
  119.  . Dual sessions in split screens (VT340/330)
  120.  . Local screen editing and block transmission (for security reasons)
  121.  . ENQ/Answerback (also for security reasons)
  122.  . True double height/width characters (these are simulated)
  123.  . Selective erasure (as a character attribute, a formatted screen item)
  124.  . Many of the exotic and rarely known features of the DEC VT340/330
  125.    series: mostly formatted screen and graphics operations highly specialized
  126.    to DEC hardware.
  127.  
  128. SET TERMINAL COLOR is only for text screens.  In version 3.00 and later,
  129. graphics screens come out white on black, whereas in 2.32/A and earlier the
  130. text screen fore- and background colors were used.  This change allows
  131. graphics screens to be printed on black-and-white printers (if you don't have
  132. a black background, your printout is likely to be solid black).  The ANSI
  133. coloring escape sequences, ESC [ ... m, may be used to control the colors on
  134. the graphics screen.
  135.  
  136. If your display adapter lacks sufficient memory (as do CGA and the early 64K
  137. EGA boards), then when you toggle away from a graphics screen, or type the
  138. connect-mode escape character (Ctrl-]), the graphics image will be lost.
  139. Furthermore, certain graphics images may be overlaid with vertical stripes on
  140. small (64K) EGA systems.
  141.  
  142. When you type the escape character (normally Ctrl-]) while in Tektronix
  143. graphics mode, the screen goes back to text memory.  Then when you type the
  144. argument character, the graphics screen reappears (unless the argument was C
  145. or P).  Ctrl-]F will not file the graphics screen, but rather the text screen,
  146. because that's the screen that's showing after type the Ctrl-] key.  To file
  147. the graphics screen (in TIFF format), use Ctrl-End (which has the Kermit verb
  148. \Kdump assigned to it by default).
  149.  
  150. In VT100/300 emulation on the IBM family, receipt of the ESC [ 4 m (turn on
  151. underscore) command results in reverse video rather than underscore on IBM CGA,
  152. EGA and other color monitors.
  153.  
  154. When using version 3.0 in terminal mode with a DEC operating system (like
  155. VAX/VMS) that knows your terminal type is VT320, you should SET DISPLAY 8 in
  156. order for Kermit to properly process 8-bit graphic and control characters
  157. which certain applications (such as Word-11 and EVE) will send.
  158.  
  159. So that key translation and macros can work on both IBM and non-IBM compatible
  160. PCs, Kermit uses the system BIOS to obtain key scan codes.  But the IBM BIOS
  161. does not produce scan codes for certain keys, notably Num Lock.
  162.  
  163. Although Kermit does not handle REGIS graphics, there is at least one
  164. REGIS-to-sixel converter on the market: RETOS, a DEC product for VAX/VMS.
  165.  
  166. Printer support: Transparent printing is started when the host sends the
  167. sequence ESC [ 4 i, and stops when the host sends ESC [ 5 i.  Transparent
  168. printing passes all characters, including escape sequences, that arrive at the
  169. port directly to the printer without translation (but strips off the parity
  170. bit if Kermit's parity is not NONE).  Character translation for printing, if
  171. needed, must be done by the DOS printer driver or other utility outside of
  172. Kermit.
  173.  
  174. When you PUSH to DOS (including when you use Kermit's RUN command), and you
  175. have XON/XOFF flow control enabled, Kermit sends an XOFF (Ctrl-S) to the host
  176. when you leave, and XON (Ctrl-Q) when you return.  This is good behavior, as
  177. it prevents data transmitted by the host while Kermit's back was turned from
  178. being lost.  However, if you do this while using the EMACS text editor on the
  179. host, the Ctrl-S will be interpreted as a Search command, and the Ctrl-Q as a
  180. Quote command.  When you return to EMACS, type one or two Ctrl-G's to get out
  181. of the Search command.
  182.  
  183. Session logging can be turned on using the LOG SESSION command, and it can
  184. be toggled on and off during terminal emulation by using whatever keys are
  185. associated with the verbs \Klogoff and \Klogon.  One user stated the
  186. requirement to enable a session log, but to have it initially toggled off.
  187. This can be done as follows (using the F1 and F2 keys as examples):
  188.   SET KEY \315 terminals    ; F1 to turn on log
  189.   SET KEY \316 \klogoff     ; F2 to turn log off
  190.   DEFINE terminals log session, set key \315 \klogon, define terminals
  191.  
  192. INTERNATIONAL CHARACTER SETS
  193.  
  194. Chapter 13, "International Character Sets," of the first printing of "Using
  195. MS-DOS Kermit" does not mention that in order to use code page switching, you
  196. also need to have a statement like:
  197.   DEVICE=C:\DISPLAY.SYS CON:=(EGA,437,(4,2))
  198. in your CONFIG.SYS file.  This is corrected in the second printing.  Refer to
  199. your DOS manual for details.
  200.  
  201. It is possible to use SET TRANSLATION INPUT to define new terminal character
  202. sets, that is new translations between whatever codes the host happens to be
  203. sending and whatever glyphs are loaded in the PC's character generator.  In
  204. MS-DOS Kermit 3.01 and later, this mechanism has been extended to work with
  205. character sets in which the C1 range (80h-9fh) contains graphic, rather than
  206. control characters, but only if you SET TERMINAL CHARACTER-SET TRANSPARENT.
  207.  
  208. MS-DOS Kermit 3.01 changes the strategy used by SET TRANSLATION INPUT and
  209. which is described in "Using MS-DOS Kermit".  In version 3.00 and earlier,
  210. this command worked like this:
  211.  
  212.   SET TRANSLATION INPUT \xxx \yyy
  213.  
  214. where \xxx is the code for the character received at the communication port,
  215. and \yyy is the code for the character to display on the screen.  In version
  216. 3.01 and later, \xxx is the code for the character that would be displayed on
  217. the screen in the current code page after normal translation, rather than the
  218. untranslated character that arrives at the port.  Example: modifying the
  219. built-in Swedisch character set to show character values 64, 94, 96, and 126
  220. as ASCII rather than Swedish characters (using PC code page 437):
  221.  
  222.   SET TERMINAL CHARACTER-SET SWEDISH
  223.   SET TRANSLATION INPUT \144 \64  ; What would normally be E-acute is atsign
  224.   SET TRANSLATION INPUT \154 \94  ; U-umlaut is circumflex
  225.   SET TRANSLATION INPUT \129 \126 ; u-umlaut is tilde
  226.   SET TRANSLATION INPUT \130 \96  ; e-acute is accent grave
  227.   SET TRANSLATION INPUT ON        ; Enable translation
  228.  
  229. MS-DOS Kermit 3.0 supports only the following five IBM PC code pages: CP437,
  230. CP850, CP860, CP863, and CP865.  The only international character set that is
  231. presently supported for file transfer is ISO Latin Alphabet 1.  MS-DOS Kermit
  232. can translate between any of these five code pages and Latin 1 during file
  233. transfer.  Until additional transfer and file character sets (and the
  234. accompanying translation tables) are built in, MS-DOS Kermit international
  235. text file transfer protocol is only able to handle the Western European
  236. languages that are accommodated by these five code pages and Latin-1.
  237.  
  238. MS-DOS Kermit determines the current file character set, and it decides which
  239. translations to apply to the current terminal character set, by asking DOS
  240. what the current code page is.  Code pages exist which are not distributed in
  241. the USA, such as CP861 for Icelandic and CP862 for Hebrew.  It is said that
  242. DOS incorrectly reports these code pages to be CP437.  Furthermore it's not
  243. clear what the DOS code page reporting mechanism would be, if any, for
  244. otherwise IBM-compatible PCs custom fitted with special character sets such as
  245. Cyrillic, Arabic, etc, so in these cases too Kermit assumes CP437 and again,
  246. there is no current method for the user to load the necessary character set
  247. translation tables (many).
  248.  
  249. Code page switching is reportedly not possible on old PC/ATs that have
  250. small-memory (64K) EGA boards.
  251.  
  252. The right hand portion (GRight) of the Latin1 terminal character set will not
  253. be accessed by SI/SO locking shifts unless Kermit first receives the escape
  254. sequence ESC - A (Escape, dash, uppercase A) from the host.  This is in
  255. accordance with the way Digital Equipment Corporation designed the VT300
  256. terminals.  That is, the initial state is G0 = G1 = ASCII, G2 = G3 = Latin1,
  257. and SI (Control-N) shifts the GLeft pointer from the G0 to the G1 set.  The
  258. escape sequence ESC - A causes G1 to be loaded with Latin1.  Alternatively,
  259. the right hand portion is accessable by using Single Shift 2, ESC N, or
  260. Locking Shift 2, ESC n, before the text character(s).  The Connect mode
  261. emulator sends characters with their high bit set as ESC N <character without
  262. the high bit> if parity is other than None.
  263.  
  264. LOG SESSION records the characters that arrive at the serial port, before
  265. translation by either Kermit's built-in terminal character set translation
  266. tables or by user-specified SET TRANSLATION INPUT commands (versions 2.32/A and
  267. earlier did apply the SET TRANSLATION INPUT command before logging to disk).
  268. This allows the REPLAY command to work correctly, but it prevents special
  269. characters from being logged after translation to the PC's own character set.
  270. Screen dump (Ctrl-End or Ctrl-]F) and transparent print, however, record the
  271. translated characters.
  272.  
  273. SET TERMINAL CHARACTER SET is effective only for text screens, not for
  274. graphics screens.  This is because the fonts for all the special characters
  275. have not been designed yet (and may never be, and even if they are, they would
  276. require a great deal of memory).
  277.  
  278. MS-DOS KERMIT FILE TRANSFER AND COMMANDS
  279.  
  280. The name and password that you specify in SET SERVER LOGIN must be matched
  281. exactly by the ones in REMOTE LOGIN.  Alphabetic case matters.
  282.  
  283. The last line of a TAKE command file (or MSKERMIT.INI) must end with a
  284. carriage-return/linefeed sequence (like all the other lines in the file), or
  285. it might not be processed by the program.
  286.  
  287. Commands in TAKE-files or MSKERMIT.INI can be continued by including "-" as
  288. the last character on the line, but NOT if the line ends with a trailing
  289. comment.  In other words, you can't have a trailing comment on a continued
  290. line.  If you need to end a line with a dash, but this dash is to be part of
  291. the command rather than a continuation symbol, then use \45 instead or put a
  292. comment AFTER the dash.
  293.  
  294. Trailing comments can be used only in command files.  All text starting with
  295. the first semicolon through the end of line is ignored.  If you need to include
  296. an actual semicolon in a command, precede with a backslash (\;).
  297.  
  298. If you need to include a question mark in a command file, use \63.  A literal
  299. question mark will cause a help message to appear on your screen.
  300.  
  301. When using Kermit through a terminal server (particularly those that execute
  302. the TCP/IP Telnet protocol), it is often necessary to SET PARITY EVEN in order
  303. to transfer files.  It is also often impossible to use very long packets.
  304. Try SET RECEIVE PACKET-LENGTH 80, working up or down to the longest length
  305. that works.
  306.  
  307. REMOTE TYPE and other REMOTE commands may result in an error "Unable to open
  308. CON".  This can result from insufficient FILES= in CONFIG.SYS or systems with
  309. all file handles used by, say, a network shell.  FILES= should be at least 20.
  310.  
  311. MS-DOS Kermit will use the program named in the DOS Environment command line
  312. starting as SHELL= as a replacement for COMMAND.COM.  Such a line is seen by
  313. typing SET at the DOS prompt, and it is not associated with the SHELL= line
  314. appearing in file CONFIG.SYS.
  315.  
  316. SET LO is no longer a sufficient abbreviation for SET LOCAL-ECHO.  Use SET LOC.
  317.  
  318. If an INPUT command is interrupted by pressing the Enter key, the status
  319. is set to SUCCESS rather than FAILURE because the command SET INPUT TIMEOUT-
  320. ACTION defaults to PROCEED.  Pressing the Enter simulates a timeout, pressing
  321. Control-C does generate a failure.
  322.  
  323. The MS-DOS Kermit command REMOTE SET BLOCK-CHECK will generally have no
  324. effect upon a remote server unless you also SET BLOCK-CHECK locally within
  325. MS-DOS Kermit.
  326.  
  327. The host prompt for TRANSMIT is a single character (SET TRANSMIT PROMPT).  It
  328. is not possible to specify a multi-character or variable prompt.
  329.  
  330. HARDWARE RELATED PROBLEMS
  331.  
  332. MS-DOS Kermit will not necessarily work with all brands of internal modems,
  333. particularly some of the built-in ones that come with laptop PCs from various
  334. makers.  If you cannot communicate satisfactorily through such a modem, give
  335. the command SET PORT BIOS1 (or 2, etc) and try again.  Kermit does work with
  336. most popular brands of internal modem (such as the Hayes Smartmodem 1200B and
  337. 2400B), and with all known external modems, both direct-connect and acoustic.
  338.  
  339. Kermit does not work properly with revision C of the built-in modem in the
  340. Toshiba T1600 laptop computer, due to an idiosyncracy of this modem.  The
  341. symptom is that the connection drops when you escape back from connect mode,
  342. at which point Kermit turns off interrupts.  The modem misinterprets this as a
  343. command to hang up the phone and turn itself off.  Revision F of this modem
  344. does not have this problem.  Note: This problem occurs with the "built-in"
  345. modem, not the "internal" modem (these are two different devices).
  346.  
  347. Systems using the Orchid Designer Professional video boards will still have
  348. to apply a special optional Patch to change the video mode value used when
  349. switching Connect mode screen sizes from 80 to 132 columns.  The version 3.00
  350. Patch file will not work with version 3.01.
  351.  
  352. Users of add-in CPU boards should be aware that the board may not handle UART
  353. serial port details properly if the UART is not directly part of the add-in
  354. cpu board.  One symptom will be Kermit can send but not receive characters.  A
  355. workaround is to use SET PORT BIOS1. The faults are with the add-in boards and
  356. seem to be characteristic of the species.
  357.  
  358. Reportedly MS-DOS 2.11 for Tandy 1200 machines has an internal problem if
  359. a program opens device CON for output, as Kermit does for REMOTE commands.
  360. The symptom is cross linkage of files on the current disk.  This has not been
  361. noted with other versions of MS-DOS 2.11.  Since it is not a Kermit problem
  362. the solution is to upgrade to a more recent version of DOS.  Thanks to Bob
  363. Babcock, peprbv@cfaamp.bitnet, for discovering the Tandy problem.
  364.  
  365. The DEC VAXmate PC/AT-compatible does not display 8-bit character sets
  366. correctly in terminal mode.  The VAXmate uses IBM CP437.  7-bit character sets
  367. like the German NRC are displayed correctly, and local TYPE of CP437 files
  368. works correctly, so the special characters are available in the right
  369. positions.  A puzzle.
  370.  
  371. NETWORKS
  372.  
  373. Sending BREAK over various network connections via SET PORT BIOS1 + Int 14h
  374. interceptor may or may not work, depending upon the actual network and drivers
  375. in use.  Kermit uses the BREAK facility if the driver and network support it.
  376.  
  377. PC-NFS apparently has a fault which prevents applications programs such as
  378. Kermit from creating a file in the root directory of a PC-NFS disk drive.
  379. When the applications program asks if a particular file exists in the root
  380. then PC-NFS always responds with "volume label present", whether or not the
  381. actual file is present.  Thanks to Thomas Dwyer, tomiii@mtus5.bitnet, for this
  382. discovery.
  383.  
  384. Reportedly, MS-DOS Kermit's performance using Novell/Excelan Ethernet boards
  385. and TCP/IP software is quite slow.  Thanks to generous help from
  386. Novell/Excelan there is a solution.  Instead of using SET PORT BIOS1, which
  387. receives characters slowly from the network, use SET PORT 3COM which uses
  388. block read/writes for much improved performance.  This applies to the
  389. Novell/Excelan TCP/IP products using their TELAPI and TSU programs.  Beware
  390. that SET PORT NOVELL does not work with the version 3.5 release of the above
  391. TCP/IP software.
  392.  
  393. Kermit does not support the AT&T LAN Async Server with STARGROUP version 3 OSI
  394. level protocols.  This is a possibility for future releases.
  395.  
  396. SOURCE CODE
  397.  
  398. The program source file MSZIBM.ASM is too big to be assembled with pre-5.0
  399. Microsoft assemblers.
  400.  
  401. INTERACTIONS WITH DOS
  402.  
  403. On early (original motherboard & BIOS) PCs, and on systems that mimic them
  404. (e.g. early Compaqs), the cursor may assume a strange shape upon return from
  405. CONNECT mode.  This is caused by a bug in the early BIOS, which stored cursor
  406. attributes incorrectly.  The PC Tech Journal article discussing the problem is
  407. "The Dashed Cursor", by Paul Pierce, PC Tech J., Dec. 1985, page 47.  He
  408. suggests the following fix:
  409.  
  410. ; Program FIXCURS.ASM by Paul Pierce, PC Tech Journal, Dec 1985, page 47.
  411. ;
  412. code    segment public 'code'
  413.         assume cs:code, ds:code, es:nothing
  414. ;
  415. ;       This program is set up to be made into a COM file
  416. ;
  417.         org     100H
  418. ;
  419. ; First check for the monochrome adapter.
  420. ;
  421. start:  int     11H             ; set ax = equipment flag
  422.         and     al,30H          ; mask off all but video bits
  423.         cmp     al,30H          ; test for monochrome adapter
  424.         jne     exit            ; jump if not monochrome
  425. ;
  426. ; Now check for incorrect cursor mode returned from the Bios
  427. ;
  428.         mov     ah,3            ; call bios to get cursor type
  429.         int     10H             ;
  430.         cmp     cx,0607H        ; check for invalid (color) type
  431.         jne     exit            ; jump if not a bad value
  432. ;
  433. ; At this point we know that the monochrome adapter is in use and that
  434. ; the bios cursor mode is incorrect.
  435. ; Call the bios to set the cursor type correctly.
  436. ;
  437.         mov     cx,080cH        ; use correct cursor type
  438.         mov     ah,1            ; call bios to set cursor type
  439.         int     10H
  440.  
  441. exit:   mov     ah,0            ; exit back to DOS
  442.         int     21H
  443.  
  444. code    ends
  445.         end     start
  446.  
  447. Shift-Printscreen can cause the PC to hang if there is no attached printer.
  448. This is a BIOS feature, Kermit never receives the command.  It occurs most
  449. frequently with a printer interface that has nothing plugged into it.  If this
  450. happens during terminal emulation, try pressing Alt-= several times to reset
  451. the terminal.
  452.  
  453. When used in remote mode, e.g. as a server, a REMOTE HOST command can invoke
  454. the DOS critical error handler, which issues its familiar "Abort, Ignore,
  455. Retry?" message on its real screen, and is waiting for a response from its own
  456. real keyboard, and so the server will no longer respond.  Kermit attempts to
  457. catch many of these errors before DOS learns learns about them, but some
  458. cannot be avoided (like disk i/o errors).
  459.  
  460. Interaction between MS-DOS Kermit and various terminate-and-stay-resident
  461. (TSR) programs is necessarily unpredictable, depending upon how "well behaved"
  462. they are.  Certain console, mouse, or graphics drivers might interfere with
  463. file transfer, etc.  Caution should be used when invoking certain TSR programs
  464. while PUSHed from Kermit (e.g. using the PRINT command for the first time), as
  465. not all of these programs observe proper etiquette for allocating and freeing
  466. memory, and more importantly the TSRs will be loaded above Kermit into the
  467. middle of memory where they may prevent large programs from loading later.
  468.  
  469. As a concrete example of the above, certain mouse drivers may prevent Kermit
  470. from transferring files, and possibly also from recovering from timeouts
  471. during script execution, or even from XOFF deadlocks during terminal
  472. emulation.  Possible workarounds include: (1) remove the mouse driver from
  473. your CONFIG.SYS file; (2) if your mouse driver can be turned off and on (e.g.
  474. if you have MOUSE OFF and MOUSE ON commands), turn the mouse off during Kermit
  475. execution; (3) give the MS-DOS Kermit command SET TIMER OFF.
  476.  
  477. If TSR programs are interfering with Kermit (by taking over the timer or
  478. serial port interrupts), you should remove them all from your AUTOEXEC.BAT
  479. or CONFIG.SYS files, and then put them back one by one until you have
  480. identified the one that's causing the problem.
  481.  
  482. The terminal emulator is not active during execution of script commands such
  483. as INPUT and OUTPUT.  There are several consequences to this:
  484.  
  485.  1. If the host sends the escape sequence that tells the terminal to identify
  486.     itself, it will be ignored.  You have to put the appropriate INPUT and
  487.     OUTPUT commands in your script program.
  488.  
  489.  2. Screen formatting escape sequences have no effect.  If you have SET INPUT
  490.     ECHO ON, they are simply displayed as-is.
  491.  
  492. If your Kermit normally emulates an ANSI (VTxxx) terminal, then users of IBM
  493. PCs can use the ANSI.SYS or similar console driver to interpret the escape
  494. sequences.  This is particularly useful when running a script that logs in to
  495. a full-screen system, such as an IBM mainframe through a protocol converter.
  496. But beware: ANSI.SYS is not totally compatible with Kermit's VT emulator, and
  497. it may produce various unwanted side effects, perhaps the most annoying of
  498. which is suddenly popping your PC into 40-column mode!  If you experience any
  499. difficulties with your screen display while using Kermit, remove ANSI.SYS from
  500. your CONFIG.SYS file, reboot, and most likely the problems will disappear.
  501.  
  502. USING COM3 AND COM4
  503.  
  504. Some PCs have more than two serial ports, but until recently there has been no
  505. standard about addresses for COM3 and COM4.  PC DOS 3.30 does not assign them
  506. either because it is really a problem of the system ROM Bios boot code run
  507. when the power is turned on.  However, Kermit will use COM3 and/or COM4 if the
  508. base address of a port is placed in low memory words 40:4H (COM3) or 40:6H
  509. (COM4); the tests described above are then carried out.  One restriction is
  510. that the Interrupt ReQuest number (IRQ in the serial port board manual) must
  511. be either IRQ4 or IRQ3.  Kermit attempts to locate which line is correct with
  512. a short test.  If the test is not successful it uses the IRQ4 for COM3 (and
  513. for COM1) and IRQ3 for COM4 (and for COM2) on the PC/AT, and on the PS/2 it
  514. uses IRQ3 for COM2, COM3, and COM4.  Check your communication board and its
  515. manual.  The DOS utility DEBUG can be used to create a short program to insert
  516. the board's addresses into the segment 40H memory locations; a sample program
  517. is given below.
  518.  
  519. IBM PC/XT/AT and PS/2 Serial Port Numbers:
  520.  
  521.   Serial Port    Address     IRQ Line         Conventions
  522.   COM1           03F8H       4                IBM standard
  523.   COM2           02F8H       3                IBM standard
  524.   COM3           ?           4 (3 for PS/2)   Board
  525.   COM4           ?           3                Board
  526.  
  527. The addresses shown as query marks are to be found in the board's reference
  528. manual; values such as 2E8H and 2E0H would be common.  However, there is no
  529. standard for anything to do with COM3 and COM4 on non-PS/2's.
  530.  
  531. Assuming that you have selected an address in harmony with the rest of the
  532. system, set the board's switches or jumpers, and use DEBUG to insert the
  533. address(es) in segment 40H memory.  The example below creates a small program
  534. named SETCOM3.COM to put address 02E8H into the memory word 40:04H for COM3
  535. and writes the program to drive A.  Substitute the desired drive letter for
  536. "a:" in the second line below.  The dash (-) is DEBUG's command prompt,
  537. and the xxxx:nnnn lines are addresses for which DEBUG prompts you to type
  538. an instruction, such as "mov ax, 40".
  539.  
  540.   A> DEBUG               don't type these comments
  541.   -n a:setcom3.com       sets name of output file
  542.   -a                     assemble command
  543.   xxxx:0100 mov ax,40    value 40h
  544.   xxxx:0103 mov es,ax    put it into register es
  545.   xxxx:0105 mov ah,02    the 02 part of 02E8H
  546.   xxxx:0107 mov al,e8    the E8 part of same
  547.   xxxx:0109 es:
  548.   xxxx:010A mov [4],ax   store in 40:4 for com3 ([6] for com4)
  549.   xxxx:010D int 20       return to DOS
  550.   xxxx:010F              blank line to end assemble mode
  551.   -r cx                  show contents of register cx
  552.   CX 0000
  553.   : 0f                   set register cx to write 0fh bytes
  554.   -w                     write material to the disk file
  555.   -q                     quit debug
  556.   A> DEBUG setcom3.com
  557.   -u                     unassemble to see if all is well
  558.   -q                     quit debug
  559.  
  560. Note, for COM4, use [6] above rather than [4], and of course employ your
  561. board's port address in place of 02E8H (check the manual).  Finally, try it:
  562.  
  563.   A> setcom3             run the program
  564.   A> DEBUG               now see what's down there
  565.   -d 40:00               display bytes in seg 40H
  566.      ( Shows many bytes.  See yours?  Good. )
  567.   -q
  568.   A>
  569.  
  570. A small side effect noted in practice is the first time the extra port is used
  571. there may be garbage from it.  Just return to the Kermit prompt and try again,
  572. if necessary SET PORT to the other COM lines momentarily, all should be well
  573. the second time.
  574.  
  575. BUGS IN MS-DOS KERMIT VERSION 3.01
  576.  
  577. REMOTE SPACE and REMOTE HELP don't work.  They send improperly formatted
  578. commands to the Kermit server, and some Kermit servers are not coded
  579. defensively enough to handle the situation gracefully.  Various other problems
  580. with REMOTE commands, especially their redirection.  Fixed in Patches 2 and 4.
  581.  
  582. Unwanted echo of PATH from CD command.  Patch 3.
  583.  
  584. ASK and ASKQ prompt and response had some characters scrambled if issued from
  585. within a macro.  Patch 5.
  586.  
  587. Incorrect response to ESC Pn G cursor command in VTxxx emulation.  Patch 6.
  588.  
  589. SET LOG command doesn't work if issued from within a macro.  Patch 7.
  590.  
  591. Problems with REMOTE LOGIN.  Patch 8.
  592.  
  593. Tektronix emulator problem when receiving illegal sequences.  Patch 9.
  594.  
  595. Transfer character set Latin-1 identified incorrectly in file Attribute
  596. Packet as I2/100.  Should be I6/100.  Patch 10.
  597.  
  598. Serial port buffer should be cleared at the beginning of a file sending
  599. protocol operation.  Patch 11.
  600.  
  601.  
  602. PROBLEMS NOT CORRECTED BY PATCHES
  603.  
  604. SET EOF CTRL-Z, when used with text files which actually contain Ctrl-Zs,
  605. might result in gaps or truncation in the vicinity of the Ctrl-Z.  This is
  606. an artifact of DOS file i/o.
  607.  
  608. The graphics display on the PS/2 Model 30, whose graphics adapter is neither
  609. a real EGA nor a real VGA, is elongated vertically so that certain normal
  610. Tektronix graphics images might not fit on the screen.
  611.  
  612. Calculation of screen rollback space can be incorrect on certain systems with
  613. more than 640KB memory (will be fixed in 3.02).
  614.  
  615. Kermit can crash if a VT300 User Definable Key contains an odd number of bytes
  616. in what is supposed to be a string of paired hexadecimal digits (will be fixed
  617. in 3.02).
  618.  
  619. A macro consisting of only the command POP will exit two macro levels rather
  620. than just one (will be fixed in 3.02).
  621.  
  622. Control sequence and keyboard strings are not always grouped to ensure that
  623. they are sent in a single network packet (situation will be improved in 3.02).
  624.  
  625. Problems with transparent printing if back-to-back escape sequences are sent
  626. to the printer (will be fixed in 3.02).
  627.  
  628. Reportedly, MS-DOS Kermit 3.0 sometimes loses certain terminal settings, such
  629. as WRAP or tab settings.  This might be caused by Kermit's new ability to
  630. accept VT300 8-bit control sequences when connected to a system that sends
  631. parity, and you have given the command SET DISPLAY 8 (which should not
  632. normally be done).  To restore default tab settings quickly, use the command
  633. SET TERM TABS AT 1:8.
  634.  
  635. Reportedly, on the PS/2 model 55SX, there is a driver called CMOSCLK.SYS which
  636. prevents Kermit from working properly.  Reportedly, removing this driver from
  637. the CONFIG.SYS file makes Kermit work right.  The effects of not running this
  638. driver on the 55SX are not known.
  639.  
  640. ------------------------------
  641.  
  642. USER CONTRIBUTIONS
  643.  
  644. Date: Mon, 14 May 90 12:57:25 EDT
  645. From: "Joe R. Doupnik" <jrd@watsun.cc.columbia.edu>
  646. Subject: Misc info on 16 bit PC boards
  647.  
  648. Frequently people discover that their PC no longer works after
  649. installing a network board. The usual problem is they purchased a 16bit
  650. VGA display adapter and run it in 16 bit mode. I tell them to jumper it
  651. back to 8 bits and they will hardly notice the tiny drop in speed.
  652. Well, the pair of msgs below spell out the technical details better
  653. than I can.
  654.     Joe D.
  655.  
  656. In article <UaFlhc_00iU4I5A4UR@andrew.cmu.edu> ddp+@ANDREW.CMU.EDU (Drew
  657.  Daniel Perkins) writes:
  658. |If you enable
  659. |16-bit access on a WD8013EBT card, then it seems to screw up memory
  660. |accesses to 8-bit WD8003 cards.  I suspect that the WD8013EBT card has a
  661.  
  662. This is very likely. Many PCs, especially ones using the so-called
  663. NEAT chipset, require all devices within a 128Kbyte boundary to be
  664. the same width.  If your Ethernet cards are in C000 to D000, all 
  665. your Ethernet cards must be the same width. This is also true for
  666. VGA BIOS: watch out for VGA with 8-bit BIOS like the Ahead Wizard.
  667. This gets to be lots of fun if you have an EMS card at D000 and you
  668. want to run it in 16-bit mode.
  669.  
  670. |I have tried to contact WD about this problem, but have not yet talked
  671. |with someone who can help me.  If anyone else has solved this problem,
  672. |or knows who to complain to, please let me know.  I have am now left
  673.  
  674. There's nothing that can be done for this problem. It's inherent
  675. to the AT-bus spec.
  676.  
  677. Phil Ngai, phil@amd.com        {uunet,decwrl,ucbvax}!amdcad!phil
  678.  
  679. This is really a response to a response, but the subject matter is relevant to
  680. all interested in the WD8013E.
  681.  
  682. The issue regarding 16-bit transfers for the WD8013E is not a problem which is
  683. specific to this card. The issue, in fact, exists with all 16-bit shared
  684. memory cards. It has to do with the way the AT bus decodes addresses.
  685.  
  686. Logically, the addresses can be thought of having distinct 128k windows. For
  687. this discussion, let's limit the addresses in question to memory above A0000.
  688. The first window in this memory space is A0000 to BFFFF, the second is from
  689. C0000 to DFFFF, and the third from E0000 to FFFFF. When a sixteen bit card has
  690. 16-bit memory enabled, an 8-bit card cannot access the high word (or the odd
  691. byte) when it is configured in the same 128 window.  Thus, when a 16-bit card
  692. has 16-bit memory enabled at A000:0 (in segmented terms), and an 8-bit card is
  693. at B000:0 (say, a monochome video adapter), the 8-bit card would not be able
  694. to properly access the odd byte (in the case of a mono card, the attribute
  695. byte). 8-bit cards out of the window (say, at C000:0) would be able to access
  696. its memory normally.
  697.  
  698. Western Digital has provided a mechanism which allows a user to make a number
  699. of choices when developing a driver or application. By providing a "toggle
  700. bit", they allow the board to either:
  701.  
  702. 1) Remain permanently in 8-bit transfer mode. This is how the cheaters or
  703. lazy programmers do it.
  704.  
  705. 2) Remain in 16-bit mode, which requires that the application dictate that
  706. 8-bit cards may not reside in the same 128k window.
  707.  
  708.   or:
  709.  
  710. 3) Toggle between 8-bit and 16-bit modes (or MANIAC mode, as I call it). 
  711. This CAN be done, by the way, without clearing interrupts, but you have to 
  712. be rather clever in your design. I'm afraid that I can't tell you how we did 
  713. it (we're commercial), but I can tell you that you have to deal with issues 
  714. regarding interrupt priorities and also have a very well-defined relationship 
  715. between transmit and receive. When you have more than 1 card and have to do
  716. board-to-board copies at interrupt time it gets REALLY hairy, but that's 
  717. beyond the scope of this discussion.
  718.  
  719. I hope that this clears some things up (although I don't know if it makes
  720. things any EASIER). At least you can stop bothering my buddies at WD.
  721.  
  722. Dennis E. Baasch
  723. Emerging Technologies
  724.  
  725. ------------------------------
  726.  
  727. Date: Tue, 19 Jun 90 18:06:01 PDT
  728. From: Ray$BARTHO.UNDHPD@f4.n494.z5.fidonet.org (Ray$BARTHO UNDHPD)
  729. Subject: Problem with MS-DOS Kermit 3.0 and the Novell NASI/NACS V2
  730.  
  731. Symptoms: When using Kermit 3.0 through the NASI/NACS interface to
  732.           an HP3000 with INP ports set to default to terminal type
  733.           10, duplication of characters occurred during the signon
  734.           sequence e.g. colon prompt or CR or LF. The signals
  735.           arriving at the NASI/NACS port were clean when viewed on
  736.           a datascope i.e. no character duplication. This annoyance
  737.           vanished when the signon completed. This was ascribed to
  738.           the change of terminal type during signon (term=18).
  739.           However, the problem reappeared when attempting a file
  740.           transfer using Kermit on the HP3000 to such an extent as
  741.           to render any file transfer impossible. Investigation
  742.           with the datascope revealed correct packets arriving at
  743.           the NASI/NACS port, so that the duplication was occurring
  744.           within the PC Kermit. The only difference between the
  745.           corrupted and un-corrupted traffic was the DC1 character
  746.           appended to the messages in the cases where duplication
  747.           occurred. This was due to the default terminal type during
  748.           signon and the HP3000 Kermit having SET HANDSHAKE XON for
  749.           file transfer. The PC Kermit used the default settings with
  750.           SET FLOW-CONTROL XON/XOFF. The NASI/NACS had ports configured
  751.           at 9600 baud with XON/XOFF.
  752.  
  753. Analysis: It would appear that having received the End-of-Packet
  754.           character, the PC Kermit starts processing this packet. The
  755.           DC1 then causes an interrupt, and since the FLOW-CONTROL
  756.           is XON/XOFF, the appearance of the XON character must be
  757.           handled (even if it is only to gobble it). This appears to
  758.           upset the normal processing and causes the character
  759.           currently being handled to be duplicated.
  760.  
  761.           While the transfer problem on the HP3000 can be overcome
  762.           simply by changing HANDSHAKE to NONE, and ignoring the
  763.           irritation during signon, this is still an error that a
  764.           casual user would be unable to diagnose, let alone rectify.
  765.           Without the use of a datascope, the presence of the XON is
  766.           impossible to detect since Kermit, even with DEBUG ON, does
  767.           not show the character as having been received.
  768.  
  769. uucp: uunet!m2xenix!puddle!5!494!4!Ray$BARTHO.UNDHPD
  770. Internet: Ray$BARTHO.UNDHPD@f4.n494.z5.fidonet.org
  771.  
  772. [From jrd - The problem lies either with the HP3000 or your version of
  773. NACS/NASI.  To be sure I setup a Novell async server again and tried both
  774. terminal and heavy file transfer traffic. NACS version 2.06 was run on an 8MHz
  775. AT and NASI version 1.14 was on a 20MHz 386. A Unix PC/7300/3b1 was on the
  776. other end from MS-DOS Kermit and C Kermit ran there. Traffic was sent with the
  777. NASI port set to use and then to not use XONXOFF; no difference was noted.
  778. Speed was 9600.  No errors or repeated packets were encountered, nor were any
  779. duplicated characters observed.  MS-DOS Kermit does not have problems with
  780. XON/XOFF occurring at any place within terminal or packet traffic. Flow
  781. control is managed at the very lowest levels and if Kermit is using flow
  782. control these characters will not appear in a Kermit Debug display; SET FLOW
  783. NONE to see them as ordinary characters. I appreciate the deep hypothesising
  784. about MS-DOS Kermit's reactions to incoming flow control, but alas the program
  785. doesn't work quite that way.  The description of what the HP3000 does
  786. concerning generating duplicated characters is a very strong hint that the
  787. problem lies right there.  Nevertheless, it might be worthwhile to reapply the
  788. datascope to the HP3000.  I cannot vouch for your version of NASI/NACS but the
  789. version here has performed flawlessly with the Gateway NIM (4 port async)
  790. board and MS-DOS Kermit and it did so again when this Sunday afternoon was
  791. spent exercising it once more.]
  792.  
  793. ------------------------------
  794.  
  795. End of MSKERM.BWR
  796.